$(function () {

    //1.动态创建表格获取所有数据
    $.ajax({
        url: "/hospital/overdue/all.action",
        type: "GET",
        dataType: "json",
        success: function (data) {
            $.each(data, function (index, ele) {
                $item = createDataItem(index, ele);
                $("#tb_3").append($item);
            });
        },
        error: function () {
            // alert("获取数据失败");
        }
    });

    //创建一条记录
    function createDataItem(index, data) {
        var $item = $("" + "<tr>\n" +
            "            <td style=\"width:100px;\">" + data.id + "</td>\n" +
            "            <td>" + data.mdcName + "</td>\n" +
            "            <td>" + data.mdcUnit + "</td>\n" +
            "            <td>" + data.mdcSpec + "</td>\n" +
            "            <td>" + data.ovdRecCount + "</td>\n" +
            "            <td>" + data.ovdRecDate + "</td>\n" +
            "            <td>" + data.ovdRecPerson + "</td>\n" +
            "            <td>" + data.ovdRecIllustration + "</td>\n" +
            "            <td>" + data.ovdRecRemark + "</td>\n" +
            "            <td>\n" +
            "                <button class=\"overdue-table-update-btn\">编辑</button>\n" +
            "                <button class=\"overdue-table-cancel-btn\">删除</button>\n" +
            "            </td>\n" +
            "        </tr>");
        return $item;
    }

    //2 监听新增信息按钮 隐藏表格数据 显示新增界面
    $("#overdueInput").css("display", "none");
    $("#overdue-add").click(function () {
        $("#overdueInput").fadeIn(0);
        $(".overdue-history-information").css("display", "none");
    });
    //2.1 新增信息页面 输入框失去焦点的监听
    $("#overdue-num").on("blur", function () {
        var value = $(this).val();
        if ($.trim(value).length == 0) {
            $("#judgeNum").html("*药品编号不能为空");
        } else {
            $("#judgeNum").remove();
        }
    });
    $("#overdue-name").on("blur", function () {
        var value = $(this).val();
        if ($.trim(value).length == 0) {
            $("#judgeName").html("*药品名称不能为空");
        } else {
            $("#judgeName").remove();
        }
    });
    $("#overdue-count").on("blur", function () {
        var value = $(this).val();
        var $count = /^[0-9]*$/;
        if ($.trim(value).length == 0) {
            $("#judgeCount").html("*药品数量不能为空");
        } else if (!$count.test(value)) {
            $("#judgeCount").html("/*请输入正确的数字*/");
        } else {
            $("#judgeCount").remove();
        }
    });
    $("#overdue-data").on("blur", function () {
        var value = $(this).val();
        if ($.trim(value).length == 0) {
            $("#judgeDate").html("*处理时间不能为空");
        } else {
            $("#judgeDate").remove();
        }
    });
    $("#overdue-person").on("blur", function () {
        var value = $(this).val();
        if ($.trim(value).length == 0) {
            $("#judgePerson").html("*处理人不能为空");
        } else {
            $("#judgePerson").remove();
        }
    });

    //2.2 新增信息界面 确认按钮点击事件
    $("#overdue-add-sure").click(function () {
        //2.2.1 获取输入的新增信息
        var num = $("#overdue-num").val();
        var name = $("#overdue-name").val();
        var unit = $("#overdue-unit").val();
        var spec = $("#overdue-type").val();
        var count = $("#overdue-count").val();
        var date = $("#overdue-data").val();
        var person = $("#overdue-person").val();
        var explain = $("#overdue-explain").val();
        var remark = $("#overdue-remake").val();
        //2.2.2 发送数据 新增过期记录
        $.ajax({
            url: "/hospital/overdue/add.action",
            dataType: "json",
            type: "POST",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({
                "id": num,
                "mdcName": name, "mdcUnit": unit, "mdcSpec": spec, "ovdRecCount": count,
                "ovdRecDate": date, "ovdRecPerson": person, "ovdRecIllustration": explain, "ovdRemark": remark
            }),
            success: function (data) {
                var $list = $("#tb_3");
                //1.清空表格数据
                $("#tb_3 tr:not(:first)").html("");
                //2.动态创建数据
                $.each(data, function (index, ele) {
                    var $item1 = createDataItem(index, ele);
                    $list.append($item1);
                });
                alert("添加成功");
                $("#overdueInput").fadeOut(0);
                $(".overdue-history-information").fadeIn(0);
            },
            error: function () {
                alert("新增信息失败");
            }
        });
    });
    //2.3 新增信息界面 返回按钮点击事件
    $("#overdue-add-back").click(function () {
        $("#overdueInput").fadeOut(0);
        $(".overdue-history-information").fadeIn(0);
    });

    //3 过期记录页面 查询按钮监听
    //3.1 按名称查询
    $("#overdueNameSelectBtn").on("click", function () {
        var name = $("#nameOverdueInput").val();
        $.ajax({
            url: "/hospital/overdue/mdcName.action",
            type: "POST",
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({"mdcName": name}),
            success: function (data) {
                var $list = $("#tb_3");
                //1.清空表格数据
                $("#tb_3 tr:not(:first)").html("");
                //2.动态创建数据
                $.each(data, function (index, ele) {
                    var $item1 = createDataItem(index, ele);
                    $list.append($item1);
                });
            },
            error: function () {
                alert("查询失败");
            }
        });
    });
    //3.2 按日期查询
    $("#overdueDateSelectBtn").on("click", function () {
        var date = $("#dateOverdueInput").val();
        $.ajax({
            url: "/hospital/overdue/date.action",
            type: "POST",
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({"ovdRecDate": date}),
            success: function (data) {
                var $list = $("#tb_3");
                //清空表格数据
                $("#tb_3 tr:not(:first)").html("");
                //动态创建数据
                $.each(data, function (index, ele) {
                    var $item = createDataItem(index, ele);
                    $list.append($item);
                });
            },
            error: function () {
                alert("查询失败");
            }
        });
    });
    //3.3 按处理人查询
    $("#overduePersonSelectBtn").on("click", function () {
        var person = $("#personOverdueInput").val();
        $.ajax({
            url: "/hospital/overdue/person.action",
            type: "POST",
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({"ovdRecPerson": person}),
            success: function (data) {
                var $list = $("#tb_3");
                //清空表格数据
                $("#tb_3 tr:not(:first)").html("");
                //动态创建数据
                $.each(data, function (index, ele) {
                    var $item = createDataItem(index, ele);
                    $list.append($item);
                });
            },
            error: function () {
                alert("查询失败");
            }
        });
    });

    //4 过期记录界面 操作栏时间监听
    //4.1 过期记录界面 编辑按钮事件委托
    $("#tb_3").delegate(".overdue-table-update-btn", "click", function () {
        // 4.1.1 获取修改前的表单记录数据
        var $value = $(this).parents("tr")[0];
        var num1 = $value.children[0].innerHTML;
        var num2 = $value.children[1].innerHTML;
        var num3 = $value.children[2].innerHTML;
        var num4 = $value.children[3].innerHTML;
        var num5 = $value.children[4].innerHTML;
        var num6 = $value.children[5].innerHTML;
        var num7 = $value.children[6].innerHTML;
        var num8 = $value.children[7].innerHTML;
        var num9 = $value.children[8].innerHTML;
        $("#overdue-update-input-num").val(num1);
        $("#overdue-update-input-name").val(num2);
        $("#overdue-update-input-unit").val(num3);
        $("#overdue-update-input-type").val(num4);
        $("#overdue-update-input-count").val(num5);
        $("#overdue-update-input-data").val(num6);
        $("#overdue-update-input-person").val(num7);
        $("#overdue-update-input-explain").val(num8);
        $("#overdue-update-input-remark").val(num9);
        // 显示编辑界面
        $(".all-overdue-update-input").fadeIn(0);
        $("#over").fadeIn(0);

        //4.1.2 编辑界面 确认按钮事件
        $("#addOverdue-update-sure").unbind("click").click(function () {
            //获取用户修改后的值
            var id = $("#overdue-update-input-num").val();
            var count = $("#overdue-update-input-count").val();
            var date = $("#overdue-update-input-data").val();
            var person = $("#overdue-update-input-person").val();
            var explain = $("#overdue-update-input-explain").val();
            var remark = $("#overdue-update-input-remark").val();
            $.ajax({
                url: "/hospital/overdue/update.action",
                type: "POST",
                dataType: "json",
                contentType: "application/json;charset=utf-8",
                data: JSON.stringify({
                    "id": id,
                    "ovdRecCount": count,
                    "ovdRecDate": date,
                    "ovdRecPerson": person,
                    "ovdRecIllustration": explain,
                    "ovdRemark": remark
                }),
                success: function (data) {
                    var $list = $("#tb_3");
                    //清空表格数据
                    $("#tb_3 tr:not(:first)").html("");
                    //动态创建数据
                    $.each(data, function (index, ele) {
                        var $item = createDataItem(index, ele);
                        $list.append($item);
                    });
                    alert("修改成功")
                    //更新完成 退出编辑窗口
                    $(".all-overdue-update-input").fadeOut(0);
                    $("#over").fadeOut(0);
                },
                error: function () {
                    alert("更新数据失败");
                }
            });
        });
    });

    //4.1.3 编辑界面 返回按钮监听
    $("#addOverdue-update-back").click(function () {
        $(".all-overdue-update-input").fadeOut(0);
        $("#over").fadeOut(0);
    });

    //4.2 过期记录界面 删除事件监听
    $("#tb_3").delegate(".overdue-table-cancel-btn", "click", function () {
        //4.2.1 获取当前行过期记录id
        var id = $(this).parents("tr")[0].children[0].innerHTML;
        //4.2.2 发送id 删除当前记录
        $.ajax({
            url: "/hospital/overdue/delete.action",
            type: "POST",
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({"id": id}),
            success: function (data) {
                var $list = $("#tb_3");
                //清空表格数据
                $("#tb_3 tr:not(:first)").html("");
                //动态创建数据
                $.each(data, function (index, ele) {
                    var $item = createDataItem(index, ele);
                    $list.append($item);
                });
                alert("删除成功");
            },
            error: function () {
                alert("删除失败");
            }
        });
    });
});